Parallel Bucket Sorting Algorithm
نویسنده
چکیده
Bucket sorting algorithm achieves O(n) running time complexity in average. It is very fast compared to any comparison-based sorting algorithms that usually have a lower bound of Ω(n log n). Given an unsorted array of n positive integers, bucket sorting algorithm works by distributing the elements into m ordered buckets each contains zero or more elements. Each bucket is then sorted using either a different sorting algorithm or recursively using bucket sorting algorithm. At the end, elements are gathered from each bucket in order, so the input array is sorted. With the O(n) complexity, the bucket sorting algorithm can execute and finish sorting very quickly in sequential processing. However, this execution time can even be improved by parallelizing the sorting of each bucket. This paper will show how the algorithm can be converted to a parallel algorithm and be implemented and executed using OpenMP API. Furthermore, it is a scalable algorithm as its performance can be linearly improved with the increase of core number of multicore processors. Experiment results show the efficiency of the algorithm.
منابع مشابه
: Parallel Algorithms for Bucket Sorting and the Data Dependent Prefix Problem
The data dependent prefix problem is to compute all the n initial products x1⃝x2⃝...⃝xk, 1 ≤ k ≤ n, where the order is specified by a linked list. A parallel algorithm for the data dependent prefix problem is presented. This algorithm has time complexity O( n p + log n log n p ) using p processors on the exclusive-read exclusive-write computation model. A bucket sorting algorithm is also develo...
متن کاملDeterministic Sample Sort For GPUs
We demonstrate that parallel deterministic sample sort for many-core GPUs (GPU Bucket Sort) is not only considerably faster than the best comparison-based sorting algorithm for GPUs (Thrust Merge [Satish et.al., Proc. IPDPS 2009]) but also as fast as randomized sample sort for GPUs (GPU Sample Sort [Leischner et.al., Proc. IPDPS 2010]). However, deterministic sample sort has the advantage that ...
متن کاملLanguage and library support for practical PRAM programming
We investigate the well-known PRAM model of parallel computation as a practical parallel programming model. The two components of this project are a general-purpose PRAM programming language called Fork95, and a library, called PAD, of eecient, basic parallel algorithms and data structures. We outline the primary features of Fork95 as they apply to the implementation of PAD. We give a brief ove...
متن کاملParallel Integer Sorting with Medium and Fine-Scale Parallelism
Two new parallel integer sorting algorithms, queue-sort and barrel-sort, are presented and analyzed in detail. These algorithms do not have optimal parallel complexity, yet they show very good performance in practice. Queue-sort is designed for ne-scale parallel architectures which allow the queueing of multiple messages to the same destination. Barrel-sort is designed for medium-scale parallel...
متن کاملARC Sort: Enhanced and Time Efficient Sorting Algorithm
This paper discusses about a sorting algorithm which uses the concept of buckets where each bucket represents a certain number of digits. A two dimensional data structure is used where one dimension represents buckets i.e; number of digits and each bucket’s corresponding dimensions represents the input numbers that belong to that bucket. Each bucket is then individually sorted. Since every prec...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014